Unless otherwise indicated herein, the approaches described in this section are not admitted to be prior art by inclusion in this section.
Application software (or “application” for short) is generally dependent on system software to execute. In some instances, compatibility issues would arise when an application developed to dependent on one type of system software is executed with another type of system software. For example, some applications may only run on a particular operating system (e.g., Microsoft Windows 8 or Mac OS X) but not on other operating systems.
Some virtualization solutions may address the compatibility issues set forth above. A virtualization solution may include a physical machine. The physical machine is configured to run a host operating system (e.g., Mac OS X) and execute virtualization software (e.g., hypervisor). Based on the virtualization software and the hardware resources on the physical machine, a virtual machine configured to run a guest operating system (e.g., Microsoft Windows 8), which may differ from the host operating system of the same physical machine, may be created. Accordingly, the host operating system and the guest operating system, both running on the same physical machine, may support their corresponding sets of applications.
During the execution of the virtualization solution, an input device (e.g., a keyboard) may be configured to generate commands and direct the generated commands to the physical machine. However, with the different operating systems running in the same physical machine, some commands may not be properly recognized or processed.